1
00:00:01,160 --> 00:00:02,480
Tanuljunk róla

2
00:00:02,480 --> 00:00:07,010
az objektumok és a tömbök még újabb jellemzője

3
00:00:07,010 --> 00:00:09,630
amelyet opcionális láncolásnak nevezünk.

4
00:00:09,630 --> 00:00:11,973
Ez pedig tényleg elképesztő.

5
00:00:13,290 --> 00:00:16,510
Tehát tegyük fel, hogy meg akartuk szerezni a nyitvatartási időt

6
00:00:16,510 --> 00:00:19,163
éttermünkben hétfőn.

7
00:00:20,160 --> 00:00:22,860
Tehát gyorsan ellenőrizzük.

8
00:00:22,860 --> 00:00:25,077
Szóval étterem.nyitvatartás,

9
00:00:26,510 --> 00:00:30,430
és mivel hétfőre nézünk,

10
00:00:30,430 --> 00:00:32,600
próbáljuk meg .mon.

11
00:00:32,600 --> 00:00:35,470
Tehát ami kitarthatná a hétfőt.

12
00:00:35,470 --> 00:00:38,840
Ez az ingatlan valójában nem létezik.

13
00:00:38,840 --> 00:00:42,840
Tehát látja, hogy ez nem definiált, igaz?

14
00:00:42,840 --> 00:00:45,890
De tegyünk úgy, mintha nem tudnánk

15
00:00:45,890 --> 00:00:49,353
hogy ez az étterem hétfőn nyit-e vagy sem.

16
00:00:50,220 --> 00:00:51,280
És ez lehet a helyzet.

17
00:00:51,280 --> 00:00:55,350
Például, ha ezek az adatok valódi webszolgáltatásból származnak.

18
00:00:55,350 --> 00:00:57,120
Tehát egy webes API.

19
00:00:57,120 --> 00:01:00,170
És a szolgáltatásukban több étterem is lehet

20
00:01:00,170 --> 00:01:03,020
és nem mindegyik nyitna ki hétfőn.

21
00:01:03,020 --> 00:01:05,220
És így nem tudtuk

22
00:01:05,220 --> 00:01:07,530
ha ez a bizonyos étterem

23
00:01:07,530 --> 00:01:10,030
hétfőn nyit, vagy sem.

24
00:01:10,030 --> 00:01:12,320
De most menjünk még tovább

25
00:01:12,320 --> 00:01:15,620
mert valójában pontosan akarjuk tudni az órát

26
00:01:15,620 --> 00:01:19,040
amelyen az étterem hétfőn nyit.

27
00:01:19,040 --> 00:01:20,690
Szóval lássuk, mit kapunk.

28
00:01:20,690 --> 00:01:24,220
És most valóban hibát kapunk

29
00:01:24,220 --> 00:01:27,640
mert ennek eredménye nem volt meghatározva.

30
00:01:27,640 --> 00:01:31,760
És akkor az undefined.open valóban hiba.

31
00:01:31,760 --> 00:01:34,330
Tehát ez a hiba, amit itt kapunk.

32
00:01:34,330 --> 00:01:36,820
Tehát a hiba elkerülése érdekében

33
00:01:36,820 --> 00:01:40,930
először ellenőriznünk kell, hogy ez itt valóban létezik-e.

34
00:01:40,930 --> 00:01:44,653
Szóval csinálhatnánk valami ilyesmit.

35
00:01:45,530 --> 00:01:49,563
Ha ez a tulajdonság létezik, akkor alapvetően ezt tegye.

36
00:01:50,560 --> 00:01:52,730
Vagy használhatunk logikai operátort is

37
00:01:52,730 --> 00:01:54,650
ahogy már megtanultuk

38
00:01:54,650 --> 00:01:57,563
de ez itt egy kicsit olvashatóbb, rendben?

39
00:01:58,970 --> 00:02:01,380
Tehát ha ugyanezt csináltuk

40
00:02:02,240 --> 00:02:04,160
mondjuk pénteken,

41
00:02:04,160 --> 00:02:06,150
akkor már tudjuk, hogy létezik péntek.

42
00:02:06,150 --> 00:02:07,600
És akkor ez működne

43
00:02:08,440 --> 00:02:09,493
és 11 lenne.

44
00:02:10,930 --> 00:02:12,880
De koncentráljunk itt hétfőre,

45
00:02:12,880 --> 00:02:15,640
melyik az a nap, ami nem létezik.

46
00:02:15,640 --> 00:02:19,220
És így most itt legalább megszabadultunk a hibánktól.

47
00:02:19,220 --> 00:02:23,770
Szóval nem nagy baj, hogy ezt a logikát hozzá kell adni

48
00:02:23,770 --> 00:02:27,190
de ettől kicsit olvashatatlanabb lesz a kódunk

49
00:02:27,190 --> 00:02:28,630
és még rendetlenebb.

50
00:02:28,630 --> 00:02:31,960
Ez azonban csak egy ingatlan ellenőrzése.

51
00:02:31,960 --> 00:02:33,950
Szóval csak hétfőre.

52
00:02:33,950 --> 00:02:36,650
De most képzeld el azt a nyitvatartási időt itt

53
00:02:36,650 --> 00:02:38,530
szintén választható lenne.

54
00:02:38,530 --> 00:02:42,220
Vagy más szóval talán az étterem tárgya

55
00:02:42,220 --> 00:02:44,870
nyitvatartási ideje sem lehet.

56
00:02:44,870 --> 00:02:48,600
Tehát ebben az esetben mindkettőt ellenőriznünk kell, nem?

57
00:02:48,600 --> 00:02:49,860
Tehát tennünk kellene

58
00:02:51,570 --> 00:02:55,467
ha étterem.nyitvatartás létezik

59
00:02:58,630 --> 00:03:02,920
és ha éttermek.openningHours.mon létezik

60
00:03:02,920 --> 00:03:07,450
míg csak ezután oldja fel a konzol nyitvatartási idejét.

61
00:03:07,450 --> 00:03:10,230
És ez elég hamar kikerülhet a kezéből

62
00:03:10,230 --> 00:03:12,560
amikor mélyen beágyazott objektumaink vannak

63
00:03:12,560 --> 00:03:15,290
sok választható tulajdonsággal.

64
00:03:15,290 --> 00:03:18,470
És ez néha a való világban is megtörténik.

65
00:03:18,470 --> 00:03:19,990
Ezért az ES2020

66
00:03:20,990 --> 00:03:23,600
egy nagyszerű megoldást mutatott be erre,

67
00:03:23,600 --> 00:03:27,390
amely az opcionális láncolásnak nevezett szolgáltatás.

68
00:03:27,390 --> 00:03:29,060
És opcionális láncolással,

69
00:03:29,060 --> 00:03:31,710
ha egy bizonyos tulajdonság nem létezik,

70
00:03:31,710 --> 00:03:34,530
akkor az undefined azonnal visszakerül.

71
00:03:34,530 --> 00:03:35,990
És így elkerülhető lesz

72
00:03:35,990 --> 00:03:39,110
ez a fajta hiba, amit korábban láttunk.

73
00:03:39,110 --> 00:03:41,270
És ez így működik.

74
00:03:41,270 --> 00:03:44,343
Tehát most hozzuk létre újra az opcionális láncolással.

75
00:03:47,397 --> 00:03:50,290
(billentyűzet csörömpölése)

76
00:03:50,290 --> 00:03:54,297
Így most már azt mondhatjuk, hogy étterem.nyitottóra.hétfő

77
00:03:58,460 --> 00:04:01,800
és most itt az opcionális láncolási operátor.

78
00:04:01,800 --> 00:04:03,350
Tehát egy pont helyett

79
00:04:03,350 --> 00:04:07,820
kérdőjelet, pontot használunk, majd megnyitjuk.

80
00:04:07,820 --> 00:04:12,290
Oké? Tehát itt van az opcionális láncolás működése.

81
00:04:12,290 --> 00:04:13,970
Tehát csak akkor, ha az ingatlan

82
00:04:13,970 --> 00:04:17,040
ez itt a kérdőjel előtt van.

83
00:04:17,040 --> 00:04:19,670
Tehát csak ha létezik hétfő,

84
00:04:19,670 --> 00:04:23,940
akkor ezt a nyitott tulajdonságot onnan olvassák be.

85
00:04:23,940 --> 00:04:24,773
Rendben?

86
00:04:24,773 --> 00:04:29,240
De ha nem, akkor azonnal az undefined visszakerül.

87
00:04:29,240 --> 00:04:32,740
A létező pedig itt valójában a nulla fogalmat jelenti

88
00:04:32,740 --> 00:04:34,600
hogy már korábban beszéltünk.

89
00:04:34,600 --> 00:04:39,600
Tehát egy tulajdonság létezik, ha nem nulla és nem meghatározatlan.

90
00:04:39,880 --> 00:04:40,713
Oké?

91
00:04:40,713 --> 00:04:43,120
Tehát ha nulla vagy üres karakterlánc,

92
00:04:43,120 --> 00:04:45,600
akkor persze még létezik.

93
00:04:45,600 --> 00:04:49,300
Tehát ha ezt most megpróbáljuk, akkor meghatározatlan lesz.

94
00:04:49,300 --> 00:04:51,760
Szóval pontosan ezt mondtam.

95
00:04:51,760 --> 00:04:55,530
Csak ismét hozzuk létre újra itt

96
00:04:55,530 --> 00:04:57,323
opcionális láncolás nélkül.

97
00:04:58,330 --> 00:05:00,573
Csak hogy újra lássuk a hibát.

98
00:05:02,430 --> 00:05:05,210
És így itt valóban megkapnánk a hibát.

99
00:05:05,210 --> 00:05:07,890
Megint azért, mert itt mindez meghatározatlan,

100
00:05:07,890 --> 00:05:11,350
és akkor itt nyíltan olvasunk az undefinedből,

101
00:05:11,350 --> 00:05:12,750
ami nem működik.

102
00:05:12,750 --> 00:05:17,750
De itt megnyílik ez a következő olvasási kísérlet

103
00:05:17,820 --> 00:05:22,610
csak akkor történik meg, ha mindez itt valóban létezik.

104
00:05:22,610 --> 00:05:26,390
Tehát ha nem null és nem undefined.

105
00:05:26,390 --> 00:05:28,820
De ha nem definiált vagy nulla,

106
00:05:28,820 --> 00:05:31,283
akkor az eredmény azonnal meghatározatlan lesz.

107
00:05:32,770 --> 00:05:34,710
Szóval vegyük ki ezt még egyszer.

108
00:05:34,710 --> 00:05:38,223
És ezért vagyunk most meghatározatlanok.

109
00:05:39,720 --> 00:05:42,563
És természetesen több opcionális láncolásunk is lehet.

110
00:05:43,420 --> 00:05:46,703
Tehát alapvetően teremtsük újra azt, ami itt van.

111
00:05:47,660 --> 00:05:49,120
Tehát ebben a példában

112
00:05:49,120 --> 00:05:52,020
tehát itt teszteljük mindkét nyitvatartási időt

113
00:05:52,020 --> 00:05:54,130
és hétfőre.

114
00:05:54,130 --> 00:05:57,600
Tehát ez lényegében a két választható tulajdonság

115
00:05:57,600 --> 00:06:00,743
hogy nem tudjuk előre, hogy léteznek-e.

116
00:06:01,920 --> 00:06:03,180
Tehát a hétfő nem kötelező,

117
00:06:03,180 --> 00:06:06,390
és ezért van itt alapvetően a kérdőjel,

118
00:06:06,390 --> 00:06:08,460
megkérdezi, hogy létezik-e

119
00:06:08,460 --> 00:06:11,540
és most ugyanezt a nyitvatartással is megtehetjük.

120
00:06:11,540 --> 00:06:16,180
És most, ha a restaurant.openingHours nem is létezik,

121
00:06:16,180 --> 00:06:19,790
na, akkor a hétfői tulajdont nem is olvassák el

122
00:06:19,790 --> 00:06:23,300
és ezért nem kapjuk meg ezt a hibát.

123
00:06:23,300 --> 00:06:24,180
Rendben?

124
00:06:24,180 --> 00:06:25,960
És így ez nagyon egyszerűvé teszi

125
00:06:25,960 --> 00:06:28,170
mindenféle hiba megelőzésére

126
00:06:28,170 --> 00:06:32,290
hogy néha nem is számíthatunk rá.

127
00:06:32,290 --> 00:06:33,520
Rendben?

128
00:06:33,520 --> 00:06:37,020
Tehát ez is elveszi ezt a munkát

129
00:06:38,500 --> 00:06:41,700
egyszerűen hozzáadva ezt az egyszerű kérdőjelet.

130
00:06:41,700 --> 00:06:45,660
De most lássunk egy kicsit több valós példát.

131
00:06:45,660 --> 00:06:48,150
És ehhez hadd ragadjam meg ezt

132
00:06:49,400 --> 00:06:51,003
hétköznap tömböt, és tedd ide.

133
00:06:53,685 --> 00:06:56,685
(billentyűzet csörömpölése)

134
00:06:58,060 --> 00:06:59,730
Nevezzük csak itt napoknak

135
00:06:59,730 --> 00:07:01,720
tehát nem ugyanaz a változó.

136
00:07:01,720 --> 00:07:05,530
És most azt akarom, hogy áthurkoljam ezt a tömböt

137
00:07:05,530 --> 00:07:06,990
majd zár a konzolhoz,

138
00:07:06,990 --> 00:07:09,970
hogy az étterem nyitva vagy zárva van

139
00:07:09,970 --> 00:07:11,871
az egyes napokon.

140
00:07:11,871 --> 00:07:14,570
(billentyűzet csörömpölése)

141
00:07:14,570 --> 00:07:17,860
Szóval ez egy jó alkalmazás

142
00:07:17,860 --> 00:07:20,877
az opcionális láncolást.

143
00:07:20,877 --> 00:07:23,780
(billentyűzet csörömpölése)

144
00:07:23,780 --> 00:07:26,380
Kezdjük tehát azzal, hogy ma bejelentkezünk

145
00:07:26,380 --> 00:07:29,693
csak azért, hogy emlékezzen, hogyan működik ez a hurok.

146
00:07:31,080 --> 00:07:34,070
És valóban, most már csinálhatunk néhány kódot

147
00:07:34,070 --> 00:07:36,960
minden egyes nap itt.

148
00:07:36,960 --> 00:07:41,653
Tehát most lényegében tegyük ugyanazt, mint itt fent.

149
00:07:42,960 --> 00:07:45,093
Szóval étterem.nyitvatartás

150
00:07:47,280 --> 00:07:51,120
de ezt most nem tudjuk megtenni, igaz?

151
00:07:51,120 --> 00:07:54,880
Mivel ez nem az objektum tényleges tulajdonságneve.

152
00:07:54,880 --> 00:07:58,230
És ezért ne feledje, ha változónevet akarunk használni

153
00:07:58,230 --> 00:08:00,090
mint az ingatlan neve,

154
00:08:00,090 --> 00:08:03,620
alapvetően a zárójeles jelölést kell használnunk.

155
00:08:03,620 --> 00:08:05,640
Így visszafelé tanultunk erről az útról

156
00:08:05,640 --> 00:08:07,290
az alapvető részben.

157
00:08:07,290 --> 00:08:09,953
És ezért feltétlenül emlékezzen erre.

158
00:08:11,090 --> 00:08:12,230
Oké?

159
00:08:12,230 --> 00:08:15,630
Tehát alapvetően ez ugyanaz lenne az első napon

160
00:08:18,717 --> 00:08:23,717
.h, majd .tue és így tovább és így tovább.

161
00:08:23,980 --> 00:08:28,973
De a nap dinamikusan érkezik ebből a tömbből.

162
00:08:30,080 --> 00:08:30,913
Oké?

163
00:08:33,780 --> 00:08:38,030
De az opcionális láncolás természetesen ezzel is működik.

164
00:08:38,030 --> 00:08:42,820
És így most megkérdezhetjük, hogy létezik-e az open, alapvetően.

165
00:08:42,820 --> 00:08:45,470
És most mentsük el ezt egy változóba

166
00:08:47,440 --> 00:08:50,370
és akkor jelentkezzünk be a konzolba.

167
00:08:50,370 --> 00:08:52,230
És ez még nem teljes

168
00:08:52,230 --> 00:08:54,830
de egyelőre lássuk, mi lesz.

169
00:08:54,830 --> 00:08:59,260
Tehát napon, és akkor bármilyen az aktuális nap

170
00:08:59,260 --> 00:09:01,523
órakor nyitunk,

171
00:09:02,830 --> 00:09:06,293
és itt az imént létrehozott nyílt változót használjuk.

172
00:09:07,930 --> 00:09:10,173
Itt szabaduljunk meg ettől a console.log-tól.

173
00:09:12,610 --> 00:09:13,690
Oké.

174
00:09:13,690 --> 00:09:16,500
Tehát hétfőn undefined órakor nyitunk,

175
00:09:16,500 --> 00:09:18,730
meghatározatlan, meghatározatlan,

176
00:09:18,730 --> 00:09:21,300
és valóban csütörtökön, pénteken és szombaton,

177
00:09:21,300 --> 00:09:22,530
Nyitva vagyunk.

178
00:09:22,530 --> 00:09:24,930
És akkor megkapjuk a nyitva tartást

179
00:09:24,930 --> 00:09:27,250
ami valójában az objektumban is benne van.

180
00:09:27,250 --> 00:09:28,720
Csak győződjünk meg.

181
00:09:28,720 --> 00:09:33,610
Tehát ez nyitva 12, 11 és nulla.

182
00:09:33,610 --> 00:09:36,310
Tehát gyakorlatilag 24 órán keresztül nyitva van.

183
00:09:36,310 --> 00:09:40,050
12-kor nyit és 24-kor zár.

184
00:09:40,050 --> 00:09:41,383
Szóval éjfélkor megint.

185
00:09:42,540 --> 00:09:44,570
Rendben? Szóval ez működik.

186
00:09:44,570 --> 00:09:48,240
De most nem akarjuk, hogy ez itt meghatározatlan legyen. Oké?

187
00:09:48,240 --> 00:09:49,940
És pontosan úgy, mint korábban

188
00:09:49,940 --> 00:09:52,300
állítsunk be egy alapértelmezett értéket.

189
00:09:52,300 --> 00:09:53,323
Tehát használjunk ill.

190
00:09:57,468 --> 00:10:00,767
és így alapértelmezettként zártnak akarjuk mondani.

191
00:10:01,690 --> 00:10:03,210
Tehát zárva tartunk.

192
00:10:03,210 --> 00:10:05,510
Szóval ennek nincs sok értelme.

193
00:10:05,510 --> 00:10:07,890
Így alkothatnánk ott egy jobb mondatot

194
00:10:07,890 --> 00:10:10,300
de hagyjuk ezt így.

195
00:10:10,300 --> 00:10:13,620
De talán észreveszi, hogy most gondunk van

196
00:10:13,620 --> 00:10:17,200
vagyis szombaton azt írja, hogy zárva vagyunk.

197
00:10:17,200 --> 00:10:19,880
Bár valójában nyitunk

198
00:10:19,880 --> 00:10:21,730
vagy nyit az étterem.

199
00:10:21,730 --> 00:10:24,210
Tehát itt szombaton, melyik ez,

200
00:10:24,210 --> 00:10:26,700
valóban, ez a tulajdonság létezik.

201
00:10:26,700 --> 00:10:29,263
Tehát van egy Szombat nevű ingatlan.

202
00:10:30,290 --> 00:10:32,460
És van itt egy probléma.

203
00:10:32,460 --> 00:10:35,980
A probléma pedig az, hogy az étterem nullakor nyit ki.

204
00:10:35,980 --> 00:10:38,840
És itt is ugyanaz a probléma, mint korábban

205
00:10:38,840 --> 00:10:41,010
ahol a nulla hamis érték.

206
00:10:41,010 --> 00:10:44,470
Ezért ez elindítja ezt a második részt

207
00:10:44,470 --> 00:10:46,030
az üzemeltetőtől.

208
00:10:46,030 --> 00:10:48,640
De láttuk a megoldást erre is,

209
00:10:48,640 --> 00:10:52,050
ami a nullish összevonási operátort használja.

210
00:10:52,050 --> 00:10:54,190
És most ezt tesszük.

211
00:10:54,190 --> 00:10:57,720
És most visszatérünk a nullánál történő nyitáshoz.

212
00:10:57,720 --> 00:10:58,553
Nagy.

213
00:10:58,553 --> 00:11:00,990
Szóval ez egy csodálatos használati eset

214
00:11:00,990 --> 00:11:03,160
az opcionális lánckezelő kezelője

215
00:11:03,160 --> 00:11:06,920
és a nullish koalescing operátor együtt dolgozik.

216
00:11:06,920 --> 00:11:09,600
És valójában bevezették a nyelvbe

217
00:11:09,600 --> 00:11:11,320
ugyanakkor az ES2020-ban

218
00:11:12,240 --> 00:11:13,920
mert tényleg úgy tervezték

219
00:11:13,920 --> 00:11:16,300
hogy jól működjenek együtt egymással.

220
00:11:16,300 --> 00:11:20,870
Tehát ismét mindketten a nullish új koncepciójára támaszkodnak

221
00:11:20,870 --> 00:11:24,850
és így a nullish értékek nullak és definiálatlanok.

222
00:11:24,850 --> 00:11:25,890
És ez az.

223
00:11:25,890 --> 00:11:30,230
És ez mindkettő igaz erre a nullish összevonási operátorra

224
00:11:30,230 --> 00:11:32,393
és az opcionális láncoláshoz is.

225
00:11:34,510 --> 00:11:36,380
Oké. Nagy.

226
00:11:36,380 --> 00:11:38,860
Most, hogy megértette, hogyan működik,

227
00:11:38,860 --> 00:11:42,720
térjünk át a következő témára, ami a módszerekről szól.

228
00:11:42,720 --> 00:11:45,330
Tehát az opcionális láncolás is működik

229
00:11:45,330 --> 00:11:46,950
metódusok hívásához.

230
00:11:46,950 --> 00:11:48,980
Tehát lényegében ellenőrizhetjük

231
00:11:48,980 --> 00:11:52,453
ha egy metódus valóban létezik, mielőtt hívnánk.

232
00:11:53,490 --> 00:11:57,740
Szóval étterem.rendelés,

233
00:11:57,740 --> 00:12:00,540
és most ellenőrizhetjük, hogy létezik-e.

234
00:12:00,540 --> 00:12:04,800
Tehát használjuk a kérdőjelet, a pontot, és ha létezik,

235
00:12:04,800 --> 00:12:06,860
akkor hívhatjuk.

236
00:12:06,860 --> 00:12:08,913
Tehát itt adjuk át a nullát és egyet.

237
00:12:09,980 --> 00:12:12,560
És akkor mindig együtt kell használnunk

238
00:12:12,560 --> 00:12:14,620
a nullish koalescing operátor.

239
00:12:14,620 --> 00:12:19,620
Tehát a módszer nem létezik.

240
00:12:20,290 --> 00:12:21,770
Tehát futtassuk ezt

241
00:12:21,770 --> 00:12:25,040
de ebben az esetben a módszer valóban létezik.

242
00:12:25,040 --> 00:12:27,403
És itt megkapjuk a várt eredményt.

243
00:12:29,740 --> 00:12:33,430
Amikor megpróbálunk meghívni egy nem létező metódust.

244
00:12:33,430 --> 00:12:35,197
Tehát mondjuk, rendelj Rizottót,

245
00:12:36,820 --> 00:12:40,410
és ezért soha nem írtunk módszert arra.

246
00:12:40,410 --> 00:12:42,003
És hát lássuk.

247
00:12:43,200 --> 00:12:46,770
És igen, most azt kapjuk, hogy a módszer nem létezik.

248
00:12:46,770 --> 00:12:48,530
És pontosan úgy, mint korábban

249
00:12:48,530 --> 00:12:50,380
ezt az opcionális lánckezelőt

250
00:12:50,380 --> 00:12:54,100
ellenőrzi, hogy a orderRisotto valóban létezik-e.

251
00:12:54,100 --> 00:12:55,260
És ha nem,

252
00:12:55,260 --> 00:12:58,630
hát akkor azonnal vissza fog térni undefined.

253
00:12:58,630 --> 00:13:01,550
És így mindez meghatározatlanul tér vissza.

254
00:13:01,550 --> 00:13:05,050
És így itt a nullish koalescing operátorban,

255
00:13:05,050 --> 00:13:08,240
azonnal megyünk ahhoz a második operánshoz.

256
00:13:08,240 --> 00:13:09,513
Szóval ez itt van.

257
00:13:10,600 --> 00:13:14,630
És igen, akkor ez az egész művelet eredménye.

258
00:13:14,630 --> 00:13:17,100
Szóval persze, ha ez nem lett volna,

259
00:13:17,100 --> 00:13:19,170
aztán megpróbáltuk

260
00:13:19,170 --> 00:13:21,200
valami, ami nem funkció.

261
00:13:21,200 --> 00:13:23,940
Nagyon hasznos a módszerek terén is.

262
00:13:23,940 --> 00:13:27,433
És végül, az opcionális láncolás még tömbökön is működik.

263
00:13:29,876 --> 00:13:32,250
(billentyűzet csörömpölése)

264
00:13:32,250 --> 00:13:36,210
Tehát alapvetően azt tudjuk használni, hogy ellenőrizzük, hogy egy tömb üres-e.

265
00:13:36,210 --> 00:13:40,880
Tehát egyszerűen hozzunk létre egy felhasználói tömböt

266
00:13:40,880 --> 00:13:43,453
amelybe elhelyezhetünk pár felhasználói objektumot.

267
00:13:45,280 --> 00:13:47,440
Szóval nevezd Jonasnak

268
00:13:49,569 --> 00:13:50,763
és email,

269
00:13:52,550 --> 00:13:56,053
hello@Jonas.io.

270
00:13:57,977 --> 00:13:58,810
(morog)

271
00:13:58,810 --> 00:14:00,040
Ez csak a bemutató kedvéért.

272
00:14:00,040 --> 00:14:03,120
Tehát csak egy tárgyat tegyünk ide

273
00:14:05,340 --> 00:14:10,330
és most, hogy megkapjuk a tömb első elemének nevét,

274
00:14:10,330 --> 00:14:12,680
meg tudjuk csinálni.

275
00:14:12,680 --> 00:14:16,750
Írhatunk felhasználókat, nulla elemszámot

276
00:14:16,750 --> 00:14:18,930
és csak ha létezik.

277
00:14:18,930 --> 00:14:23,930
Tehát az opcionális láncolás csak akkor vegye fel a nevét.

278
00:14:24,320 --> 00:14:25,420
Oké?

279
00:14:25,420 --> 00:14:30,420
Egyébként pedig üresen akarjuk naplózni a felhasználói tömböt.

280
00:14:32,470 --> 00:14:33,740
Szóval lássuk.

281
00:14:33,740 --> 00:14:36,450
És valóban megkapjuk Jonast.

282
00:14:36,450 --> 00:14:39,190
És megint ez az opcionális láncolás itt

283
00:14:39,190 --> 00:14:43,230
teszteli, hogy létezik-e a bal oldali érték.

284
00:14:43,230 --> 00:14:44,973
Tehát a felhasználók nulla.

285
00:14:47,040 --> 00:14:47,873
Oké?

286
00:14:47,873 --> 00:14:48,943
Tehát ha üres lenne,

287
00:14:50,440 --> 00:14:51,563
tehát a felhasználók,

288
00:14:52,460 --> 00:14:53,870
szóval így,

289
00:14:53,870 --> 00:14:56,433
akkor üres felhasználói tömböt kapunk.

290
00:14:57,520 --> 00:14:59,120
És opcionális láncolás nélkül,

291
00:14:59,120 --> 00:15:02,290
valami ilyesmit kellene írnunk.

292
00:15:02,290 --> 00:15:06,070
Tehát ha a felhasználók.hosszúság

293
00:15:06,070 --> 00:15:07,540
nagyobb egyenlő nullával

294
00:15:08,750 --> 00:15:10,290
majd konzol.log

295
00:15:11,196 --> 00:15:12,340
és ez itt

296
00:15:19,407 --> 00:15:22,893
és egyéb console.log,

297
00:15:24,850 --> 00:15:27,163
felhasználói tömb üres.

298
00:15:28,290 --> 00:15:29,840
Rendben?

299
00:15:29,840 --> 00:15:32,810
És így sokkal több munkának tűnik

300
00:15:32,810 --> 00:15:34,920
mint ami nálunk fent van.

301
00:15:34,920 --> 00:15:37,760
Tehát itt nem kell ellenőriznünk

302
00:15:37,760 --> 00:15:40,053
szóval ez sokkal jobb.

303
00:15:41,460 --> 00:15:44,433
És így most mindkét esetben megkapjuk Jonast.

304
00:15:45,690 --> 00:15:48,920
Szóval szokja meg ezt az opcionális lánckezelőt,

305
00:15:48,920 --> 00:15:50,180
ami szinte mindig,

306
00:15:50,180 --> 00:15:54,030
a nullish coalescing operátorral együtt használjuk őket

307
00:15:54,030 --> 00:15:56,090
hogy valóban tehetünk valamit

308
00:15:56,090 --> 00:15:59,560
ha nem kapunk eredményt az objektumtól

309
00:15:59,560 --> 00:16:02,433
vagy abból a tömbből, amely itt a bal oldalon található.

310
00:16:03,860 --> 00:16:04,693
Rendben.

311
00:16:04,693 --> 00:16:07,803
És ezzel együtt a következő videóban találkozunk.


